Авторы |
Дубинин Виктор Николаевич, доктор технических наук, профессор, кафедра вычислительной техники, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40), E-mail: dubinin.victor@gmail.com
Беззатеев Игорь Андриянович, инженер, Пензенский научно-исследовательский электротехнический институт (Россия, г. Пенза, ул. Советская, 9), E-mail: apocalypse94@yandex.ru
Войнов Артем Сергеевич, магистрант, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40),
E-mail: voj49@yandex.ru
Сенокосов Илья Владимирович, магистрант, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40), E-mail: senokosov.i@yandex.ru
|
Аннотация |
Актуальность и цели. Международный стандарт IEC 61499, предназначенный для проектирования распределенных компонентно-базированных систем мониторинга и управления промышленными процессами, не позволяет напрямую строить эти системы со сложными видами синхронизации и взаимодействий, большинство из которых основано на концепции семафора. Целью представленной работы является моделирование, верификация и сравнительный анализ производительности распределенных семафоров на основе протоколов Paxos и Raft, а также их функционально-блочная реализация на основе стандарта IEC 61499.
Материалы и методы. Для построения распределенных семафоров использовались протоколы Paxos и Raft для достижения консенсуса в сети ненадежных процессоров. Для их формального описания и моделирования выбраны раскрашенные сети Петри, положенные в основу инструментальной системы моделирования CPN Tools. Реализация распределенных семафоров производилась на основе функциональных блоков стандарта IEC 61499 в среде NxtStudio.
Результаты. Разработаны сетевые модели алгоритмов выполнения операций открытия и закрытия распределенных семафоров (основанных на алгоритмах Paxos и Raft), которые реализованы в системе CPN Tools и позволяют производить как оценку производительности системы, так и ее верификацию.
Проведены имитационные эксперименты с этими сетевыми моделями, дан сравнительный анализ подходов на основе Paxos и Raft и рекомендации по их использованию. Разработана библиотека функциональных блоков для реализации протоколов достижения консенсуса Paxos и Raft, а также распределенных семафоров на их основе, позволяющая существенно расширить возможности проектирования распределенных управляющих приложений со сложными видами взаимодействий в архитектуре IEC 61499.
Выводы. Результаты имитационных экспериментов и программная реализация показали работоспособность и корректность функционирования распределенных семафоров на основе алгоритмов для достижения консенсуса. Использование протокола Raft является предпочтительным как с точки зрения простоты реализации и масштабируемости, так и надежности.
|
Ключевые слова
|
распределенная управляющая система, синхронизация, коммуникационный протокол, Paxos, Raft, раскрашенные сети Петри, функциональный блок
|
Список литературы |
1. Дубинин, В. Н. Модели функциональных блоков IEC 61499, их проверка и трансформации в проектировании распределенных систем управления : монография / В. Н. Дубинин, В. В. Вяткин. – Пенза : Изд-во ПГУ, 2012. – 348 с.
2. Эндрюс, Г. Р. Основы многопоточного, параллельного и распределенного программирования : пер. с англ. / Г. Р. Эндрюс. – M. : Вильямс, 2003. – 505 с.
3. Вашкевич, Н. П. Аппаратная реализация функций синхронизации параллельных процессов при обращении к разделяемому ресурсу на основе ПЛИС / Н. П. Вашкевич, Р. А. Бикташев, Е. И. Гурин // Известия высших учебных заведений. Поволжский регион. Технические науки. – 2007. – № 2. – С. 3–12.
4. Yuan, S.-M. Design and implementation of a distributed semaphore facility / S.-M. Yuan, C.-J. Wu, H.-M. Lien, I.-N. Chen // Third Workshop on Future Trends of Distributed Computing Systems. – Taiwan, 1992. – P. 180–184.
5. Ду бинин, В. Н. Реализация некоторых видов взаимодействий в системах, основанных на стандарте IEC 61499 / В. Н. Дубинин // Вычислительные системы и технологии обработки информации : межвуз. сб. науч. тр. – Пенза : Изд-во ПГУ,
2005. – Вып. 3 (29). – C. 65–71.
6. Ду бинин, В. Н. Децентрализованное управление распределенными данными в локальной вычислительной сети: спецификация, моделирование, реализация и применение в распределенных вычислениях / В. Н. Дубинин / Пенз. гос. техн. ун-т. – Пенза, 1997. – 78 с. – Деп. В ВИНИТИ 10.06.97, № 1946-В97.
7. Ramachandran, M. Distributed semaphores. / M. Ramachandran, M. Singhal // Technical Report OSU-CISRC-6/94-TR34. – Ohio : The Ohio State University Computer and Information Science Research Center, 1994. – 20 p.
8. Lamport, L. The Part-Time Parliament // ACM Transactions on Computer Systems. – 1998. – Vol. 16, iss. 2. – P. 133–169.
9. Ongaro, D. In Search of an Understandable Consensus Algorithm / D. Ongaro, J. Ousterhout // Proc. USENIX Annual Technical Conference. – Philadelphia, 2014. – P. 305–320.
10. Junqueira, F. P. ZooKeeper: Distributed Process Coordination / F. P. Junqueira, B. Reed. – Sebastopol, United States : O’Reilly Media, 2013. – 246 p.
11. Jensen, K. Coloured Petri Nets. Modelling and Validation of Concurrent Systems / K. Jensen, L. M. Kristensen. – New York : Springer Publishing Company, 2009. – 384 p.
12. CPN Tools. – URL: http://cpntools.org/
13. NxtStudio. – URL: http://www.nxtcontrol.com/
|